﻿Imports BusinessLogicLayer
Imports BE = BusinessEntities
Imports BusinessEntities


Partial Class Actualiza_Proyecto
    Inherits System.Web.UI.Page
    Dim capanegocios As New ProyectoBL


    Dim str_error As String
    Dim str_mensaje As String
    Public Shared str_modo As String
    Public Shared str_cliente As String
    Dim li As ListItem

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        ' lblPrueba.Visible = False
        'Pintamos la data actual
        Dim objeto As New BE.ProyectoDTO


        If Not Page.IsPostBack Then

            'Recuperamos los parámetros enviados por la página Mantenimiento.aspx
            str_modo = Request.QueryString("modo")
            str_cliente = Request.QueryString("cliente")
            objeto.CodigoProyecto = str_cliente

            'Cargamos el DropDownList de distritos
            cargarCombos(objeto)


            Try

                '2	asd	15	62 	13 	12322.00	sa	Files_Proyectos\	2	1

                'Llenamos la propiedad de la entidad ClienteBE 
                'objeto.CodigoProyecto = str_cliente

                txtnombre.Text = Convert.ToString(capanegocios.DatosProyecto(objeto). _
                                                     Tables("DatosProyecto").Rows(0).Item(1))
                lblPrueba.Text = " - dep - " + _
                capanegocios.DatosProyecto(objeto).Tables("DatosProyecto").Rows(0).Item(2)

                lblPrueba.Text = lblPrueba.Text + " - prov - " + capanegocios.DatosProyecto(objeto). _
                                            Tables("DatosProyecto").Rows(0).Item(3)

                lblPrueba.Text = lblPrueba.Text + " - dist - " + capanegocios.DatosProyecto(objeto). _
                            Tables("DatosProyecto").Rows(0).Item(4)

                ddlDepart.Items.FindByValue(capanegocios.DatosProyecto(objeto). _
                                            Tables("DatosProyecto").Rows(0).Item(2)).Selected = True
                
                ddlProvin.Items.FindByValue(capanegocios.DatosProyecto(objeto). _
                                            Tables("DatosProyecto").Rows(0).Item(3)).Selected = True

                ddlDistr.Items.FindByValue(capanegocios.DatosProyecto(objeto). _
                                            Tables("DatosProyecto").Rows(0).Item(4)).Selected = True

                txtCosto.Text = Convert.ToString(capanegocios.DatosProyecto(objeto). _
                                                     Tables("DatosProyecto").Rows(0).Item(5))

                txtDuracion.Text = Convert.ToString(capanegocios.DatosProyecto(objeto). _
                                                     Tables("DatosProyecto").Rows(0).Item(6))

                txtObservacion.Text = Convert.ToString(capanegocios.DatosProyecto(objeto). _
                                                     Tables("DatosProyecto").Rows(0).Item(7))

                'file1.PostedFile = Convert.ToString(capanegocios.DatosProyecto(objeto). _
                '                                     Tables("DatosProyecto").Rows(0).Item(5))

                ddpEtapa.Items.FindByValue(Convert.ToString(capanegocios.DatosProyecto(objeto). _
                                                    Tables("DatosProyecto").Rows(0).Item(9))).Selected = True

                ddpEstado.Items.FindByValue(Convert.ToString(capanegocios.DatosProyecto(objeto). _
                                                    Tables("DatosProyecto").Rows(0).Item(10))).Selected = True

            Catch ex As Exception
                str_error = ex.Message
                Response.Redirect("Errores.aspx?id=" & str_error)
            Finally
                capanegocios = Nothing
                objeto = Nothing
            End Try


        End If


    End Sub

    Protected Sub btnProcesar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnProcesar.Click
        'Edición de un registro
        Dim capanegocios As New ProyectoBL
        Dim objeto As New BE.ProyectoDTO
        Dim fn As String = capanegocios.getPlanProyecto(CType(str_cliente, Integer))

        Try

            objeto.CodigoProyecto = str_cliente
            objeto.NombreProyecto = txtnombre.Text
            objeto.CodDepartamento = ddlDepart.SelectedItem.Value.ToString
            objeto.CodProvincia = ddlProvin.SelectedItem.Value.ToString
            objeto.CodDistrito = ddlDistr.SelectedItem.Value.ToString
            objeto.CostoProyecto = txtCosto.Text
            objeto.TiempoProyecto = txtDuracion.Text
            objeto.ObservacionProyecto = txtObservacion.Text
            'If Not file1.PostedFile Is Nothing And file1.PostedFile.ContentLength > 0 Then
            '    fn = "Files_Proyectos\" & file1.PostedFile.FileName
            'End If
            If file1.HasFile Then
                fn = "Files_Proyectos\" & file1.PostedFile.FileName
            End If
            objeto.PlanProyecto = fn
            objeto.CodigoEtapaProyecto = ddpEtapa.SelectedItem.Value.ToString
            objeto.CodigoProyectoEstado = ddpEstado.SelectedItem.Value.ToString


            If capanegocios.ActualizarProyecto(objeto) Then
                str_mensaje = "Proyecto actualizado con éxito"
                mensaje(str_mensaje)

            Else
                str_mensaje = "No se actualizó los datos del Proyecto"
                mensaje(str_mensaje)
            End If

        Catch ex As Exception
            str_error = capanegocios.CapturaError + ex.Message
            Response.Redirect("Errores.aspx?id=" & str_error)
        Finally
            capanegocios = Nothing
            objeto = Nothing
        End Try
        Response.Redirect("modificarproyecto.aspx")

    End Sub

    Protected Sub btnregresar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnregresar.Click
        Response.Redirect("modificarproyecto.aspx")
    End Sub

    Sub verPlan()
        Dim fil As String = capanegocios.getPlanProyecto(CType(str_cliente, Integer))
        Response.Redirect(fil)
    End Sub

    Sub cargarCombos(ByVal obj As ProyectoDTO)

        With ddlDepart
            .Items.Add("-Seleccione-")
            .DataSource = capanegocios.getDepartamentos
            .DataTextField = "NOM_DEP"
            .DataValueField = "COD_DEP"
            .DataBind()
        End With

        With ddlProvin
            .Items.Add("-Seleccione-")
            .DataSource = capanegocios.getProvincias(capanegocios.DatosProyecto(obj). _
                    Tables("DatosProyecto").Rows(0).Item(2))
            .DataTextField = "NOM_PROV"
            .DataValueField = "COD_PROV"
            .DataBind()
        End With

        With ddlDistr
            .Items.Add("-Seleccione-")
            .DataSource = capanegocios.getDistritos(capanegocios.DatosProyecto(obj). _
                    Tables("DatosProyecto").Rows(0).Item(3))
            .DataTextField = "NOM_DIST"
            .DataValueField = "COD_DIST"
            .DataBind()
        End With

        With ddpEtapa
            .Items.Add("-Seleccione-")
            .DataSource = capanegocios.getEtapas
            .DataTextField = "NOM_ETA_PRY"
            .DataValueField = "COD_ETA_PRY"
            .DataBind()
        End With

        With ddpEstado
            .Items.Add("-Seleccione-")
            .DataSource = capanegocios.getEstado
            .DataTextField = "NOM_EST_PRY"
            .DataValueField = "COD_EST_PRY"
            .DataBind()
        End With

    End Sub


    Sub mensaje(ByVal msg As String)
        Dim script As String = "<script language=Javascript>"
        script += "alert('" & str_mensaje & "');"
        script += "</script>"
        Page.ClientScript.RegisterStartupScript(Me.GetType(), "script", script)
    End Sub


    Protected Sub ddlDepart_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlDepart.SelectedIndexChanged
        With ddlProvin
            .DataSource = capanegocios.getProvincias(ddlDepart.SelectedValue)
            .DataTextField = "nom_prov"
            .DataValueField = "cod_prov"
            .DataBind()
        End With

        ddlDistr.Items.Clear()
    End Sub


    Protected Sub ddlProvin_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlProvin.SelectedIndexChanged
        Try
            With ddlDistr
                .DataSource = capanegocios.getDistritos(ddlProvin.SelectedValue)
                .DataTextField = "nom_dist"
                .DataValueField = "cod_dist"
                .DataBind()
            End With
        Catch ex As Exception
            str_error = capanegocios.CapturaError
            Response.Redirect("Errores.aspx?id=" & str_error)
        End Try
    End Sub

End Class
